This invention relates generally to replicated data. More particularly, it relates to moving a write lock between a plurality of in memory replicated data objects.
It is becoming increasingly prevalent to couple plurality of data processing systems in a distributed environment via a network. In the distributed applications which are built on a peer-to-peer relationship the systems cooperate to perform a given function. This cooperation may entail sharing multiple copies of data objects for good interative performance. As the cooperation via one or more shared disk files can be unacceptably slow from any application to ensure better response times the data object are replicated in multiple address spaces. In the distributed systems in a network, a replica of the data object will be found in the memories of several of the data processing systems. A method of managing data across all the replicas must be performed to ensure that the data at each system is current and complete. One of the techniques in the prior art is to use a primary or master copy where the master copy is updated first and all other copies are synchronized to it. In interactive applications, it becomes impractical to delay the feedback to the user at a local display until all copies are updated, particularly in a distributed system.
A replicated data object is a logical unit of data which is physically replicated in multiple memories. Each memory is generally the main memory of an individual data system coupled to a network. The replicated data object despite being in several physical locations may behave like a single copy of the data object. One implication of behaving as a single copy is that if any replica is updated, all other replicas are also updated. By reading any one local replica, a given processor will know the data in the identical replica at a distant location. If the replicas are a coupled in an object oriented program, the system can have a plurality of replicas which not only contain identical data, but also are logically equivalent.
The invention suggests an improved means to update a replicated data object in multiple address spaces.